Skip to main content

Ejemplos de funciones API

Usaremos la entidad ficticia de Usuario para explicar su funcionamiento:

export interface Usuario {
id: number;
name: string;
email: string;
}

1. Crear instancia de axios con la URL base

const api = axios.create({
baseURL: "https://jsonplaceholder.typicode.com", // Aquí va la URL de la API
headers: {
"Content-Type": "application/json", // Especificamos que enviamos JSON
},
});

2. Obtener información de backend (GET)

export const fetchUsuarios = async (token: string): Promise<Usuario[]> => {
try {
const response = await api.get<Usuario[]>("/users", {
headers: { Authorization: `Bearer ${token}` }, // Enviamos el token de autenticación
});

return response.data;
} catch (error) {
console.error("Error al obtener usuarios:", error);
return [];
}
};

3. Enviar datos a backend (POST)

export const createUsuario = async (token: string, nuevoUsuario: Usuario): Promise<Usuario | null> => {
try {
const response = await api.post<Usuario>("/users", nuevoUsuario, {
headers: { Authorization: `Bearer ${token}` },
});

return response.data;
} catch (error) {
console.error("Error al crear usuario:", error);
return null;
}
};

4. Editar datos de backend (PUT)

export const updateUsuario = async (token: string, usuarioActualizado: Usuario): Promise<Usuario | null> => {
try {
const response = await api.put<Usuario>(`/users/${usuarioActualizado.id}`, usuarioActualizado, {
headers: { Authorization: `Bearer ${token}` },
});

return response.data;
} catch (error) {
console.error("Error al actualizar usuario:", error);
return null;
}
};

5. Eliminar datos de backend (DELETE)

export const deleteUsuario = async (token: string, id: number): Promise<boolean> => {
try {
await api.delete(`/users/${id}`, {
headers: { Authorization: `Bearer ${token}` },
});

return true;
} catch (error) {
console.error("Error al eliminar usuario:", error);
return false;
}
};